package br.com.locautowebbd.fabricante;

import br.com.locautowebbd.util.RepositorioException;


public class CadastroFabricante {
	private RepositorioFabricantes fabricantes;

	public CadastroFabricante(RepositorioFabricantes rep) {
		if (rep == null) {
			throw new IllegalArgumentException("Argumento lista fabricantes nula");
		}
		this.fabricantes = rep;
	}

	public void atualizar(Fabricante fabricante) throws FabricanteInexistenteException,
			RepositorioException {
		fabricantes.atualizar(fabricante);
	}

	public void inserir(Fabricante novaFabricante) throws RepositorioException, FabricanteExistenteException{
            int codigo = novaFabricante.getCodigo();
		if (!fabricantes.existe(codigo)){
			fabricantes.inserir(novaFabricante);
		} else {
			throw new FabricanteExistenteException(novaFabricante.getCodigo());
		}
	}

	public void remover(int codigo) throws FabricanteInexistenteException,
			RepositorioException {
		fabricantes.remover(codigo);
	}

	public Fabricante procurar(int codigo) throws FabricanteInexistenteException,
			RepositorioException {
		return fabricantes.procurar(codigo);
	}
}